//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(undefined <= undefined);
write(undefined <= null);
write(undefined <= true);
write(undefined <= false);
write(undefined <= Boolean(true));
write(undefined <= Boolean(false));
write(undefined <= new Boolean(true));
write(undefined <= new Boolean(false));
write(undefined <= NaN);
write(undefined <= +0);
write(undefined <= -0);
write(undefined <= 0);
write(undefined <= 0.0);
write(undefined <= -0.0);
write(undefined <= +0.0);
write(undefined <= 1);
write(undefined <= 10);
write(undefined <= 10.0);
write(undefined <= 10.1);
write(undefined <= -1);
write(undefined <= -10);
write(undefined <= -10.0);
write(undefined <= -10.1);
write(undefined <= Number.MAX_VALUE);
write(undefined <= Number.MIN_VALUE);
write(undefined <= Number.NaN);
write(undefined <= Number.POSITIVE_INFINITY);
write(undefined <= Number.NEGATIVE_INFINITY);
write(undefined <= new Number(NaN));
write(undefined <= new Number(+0));
write(undefined <= new Number(-0));
write(undefined <= new Number(0));
write(undefined <= new Number(0.0));
write(undefined <= new Number(-0.0));
write(undefined <= new Number(+0.0));
write(undefined <= new Number(1));
write(undefined <= new Number(10));
write(undefined <= new Number(10.0));
write(undefined <= new Number(10.1));
write(undefined <= new Number(-1));
write(undefined <= new Number(-10));
write(undefined <= new Number(-10.0));
write(undefined <= new Number(-10.1));
write(undefined <= new Number(Number.MAX_VALUE));
write(undefined <= new Number(Number.MIN_VALUE));
write(undefined <= new Number(Number.NaN));
write(undefined <= new Number(Number.POSITIVE_INFINITY));
write(undefined <= new Number(Number.NEGATIVE_INFINITY));
write(undefined <= '');
write(undefined <= 0xa);
write(undefined <= 04);
write(undefined <= 'hello');
write(undefined <= 'hel' + 'lo');
write(undefined <= String(''));
write(undefined <= String('hello'));
write(undefined <= String('h' + 'ello'));
write(undefined <= new String(''));
write(undefined <= new String('hello'));
write(undefined <= new String('he' + 'llo'));
write(undefined <= new Object());
write(undefined <= new Object());
write(undefined <= [1, 2, 3]);
write(undefined <= [1 ,2 , 3]);
write(undefined <= new Array(3));
write(undefined <= Array(3));
write(undefined <= new Array(1 ,2 ,3));
write(undefined <= Array(1));
write(undefined <= foo);
write(null <= undefined);
write(null <= null);
write(null <= true);
write(null <= false);
write(null <= Boolean(true));
write(null <= Boolean(false));
write(null <= new Boolean(true));
write(null <= new Boolean(false));
write(null <= NaN);
write(null <= +0);
write(null <= -0);
write(null <= 0);
write(null <= 0.0);
write(null <= -0.0);
write(null <= +0.0);
write(null <= 1);
write(null <= 10);
write(null <= 10.0);
write(null <= 10.1);
write(null <= -1);
write(null <= -10);
write(null <= -10.0);
write(null <= -10.1);
write(null <= Number.MAX_VALUE);
write(null <= Number.MIN_VALUE);
write(null <= Number.NaN);
write(null <= Number.POSITIVE_INFINITY);
write(null <= Number.NEGATIVE_INFINITY);
write(null <= new Number(NaN));
write(null <= new Number(+0));
write(null <= new Number(-0));
write(null <= new Number(0));
write(null <= new Number(0.0));
write(null <= new Number(-0.0));
write(null <= new Number(+0.0));
write(null <= new Number(1));
write(null <= new Number(10));
write(null <= new Number(10.0));
write(null <= new Number(10.1));
write(null <= new Number(-1));
write(null <= new Number(-10));
write(null <= new Number(-10.0));
write(null <= new Number(-10.1));
write(null <= new Number(Number.MAX_VALUE));
write(null <= new Number(Number.MIN_VALUE));
write(null <= new Number(Number.NaN));
write(null <= new Number(Number.POSITIVE_INFINITY));
write(null <= new Number(Number.NEGATIVE_INFINITY));
write(null <= '');
write(null <= 0xa);
write(null <= 04);
write(null <= 'hello');
write(null <= 'hel' + 'lo');
write(null <= String(''));
write(null <= String('hello'));
write(null <= String('h' + 'ello'));
write(null <= new String(''));
write(null <= new String('hello'));
write(null <= new String('he' + 'llo'));
write(null <= new Object());
write(null <= new Object());
write(null <= [1, 2, 3]);
write(null <= [1 ,2 , 3]);
write(null <= new Array(3));
write(null <= Array(3));
write(null <= new Array(1 ,2 ,3));
write(null <= Array(1));
write(null <= foo);
write(true <= undefined);
write(true <= null);
write(true <= true);
write(true <= false);
write(true <= Boolean(true));
write(true <= Boolean(false));
write(true <= new Boolean(true));
write(true <= new Boolean(false));
write(true <= NaN);
write(true <= +0);
write(true <= -0);
write(true <= 0);
write(true <= 0.0);
write(true <= -0.0);
write(true <= +0.0);
write(true <= 1);
write(true <= 10);
write(true <= 10.0);
write(true <= 10.1);
write(true <= -1);
write(true <= -10);
write(true <= -10.0);
write(true <= -10.1);
write(true <= Number.MAX_VALUE);
write(true <= Number.MIN_VALUE);
write(true <= Number.NaN);
write(true <= Number.POSITIVE_INFINITY);
write(true <= Number.NEGATIVE_INFINITY);
write(true <= new Number(NaN));
write(true <= new Number(+0));
write(true <= new Number(-0));
write(true <= new Number(0));
write(true <= new Number(0.0));
write(true <= new Number(-0.0));
write(true <= new Number(+0.0));
write(true <= new Number(1));
write(true <= new Number(10));
write(true <= new Number(10.0));
write(true <= new Number(10.1));
write(true <= new Number(-1));
write(true <= new Number(-10));
write(true <= new Number(-10.0));
write(true <= new Number(-10.1));
write(true <= new Number(Number.MAX_VALUE));
write(true <= new Number(Number.MIN_VALUE));
write(true <= new Number(Number.NaN));
write(true <= new Number(Number.POSITIVE_INFINITY));
write(true <= new Number(Number.NEGATIVE_INFINITY));
write(true <= '');
write(true <= 0xa);
write(true <= 04);
write(true <= 'hello');
write(true <= 'hel' + 'lo');
write(true <= String(''));
write(true <= String('hello'));
write(true <= String('h' + 'ello'));
write(true <= new String(''));
write(true <= new String('hello'));
write(true <= new String('he' + 'llo'));
write(true <= new Object());
write(true <= new Object());
write(true <= [1, 2, 3]);
write(true <= [1 ,2 , 3]);
write(true <= new Array(3));
write(true <= Array(3));
write(true <= new Array(1 ,2 ,3));
write(true <= Array(1));
write(true <= foo);
write(false <= undefined);
write(false <= null);
write(false <= true);
write(false <= false);
write(false <= Boolean(true));
write(false <= Boolean(false));
write(false <= new Boolean(true));
write(false <= new Boolean(false));
write(false <= NaN);
write(false <= +0);
write(false <= -0);
write(false <= 0);
write(false <= 0.0);
write(false <= -0.0);
write(false <= +0.0);
write(false <= 1);
write(false <= 10);
write(false <= 10.0);
write(false <= 10.1);
write(false <= -1);
write(false <= -10);
write(false <= -10.0);
write(false <= -10.1);
write(false <= Number.MAX_VALUE);
write(false <= Number.MIN_VALUE);
write(false <= Number.NaN);
write(false <= Number.POSITIVE_INFINITY);
write(false <= Number.NEGATIVE_INFINITY);
write(false <= new Number(NaN));
write(false <= new Number(+0));
write(false <= new Number(-0));
write(false <= new Number(0));
write(false <= new Number(0.0));
write(false <= new Number(-0.0));
write(false <= new Number(+0.0));
write(false <= new Number(1));
write(false <= new Number(10));
write(false <= new Number(10.0));
write(false <= new Number(10.1));
write(false <= new Number(-1));
write(false <= new Number(-10));
write(false <= new Number(-10.0));
write(false <= new Number(-10.1));
write(false <= new Number(Number.MAX_VALUE));
write(false <= new Number(Number.MIN_VALUE));
write(false <= new Number(Number.NaN));
write(false <= new Number(Number.POSITIVE_INFINITY));
write(false <= new Number(Number.NEGATIVE_INFINITY));
write(false <= '');
write(false <= 0xa);
write(false <= 04);
write(false <= 'hello');
write(false <= 'hel' + 'lo');
write(false <= String(''));
write(false <= String('hello'));
write(false <= String('h' + 'ello'));
write(false <= new String(''));
write(false <= new String('hello'));
write(false <= new String('he' + 'llo'));
write(false <= new Object());
write(false <= new Object());
write(false <= [1, 2, 3]);
write(false <= [1 ,2 , 3]);
write(false <= new Array(3));
write(false <= Array(3));
write(false <= new Array(1 ,2 ,3));
write(false <= Array(1));
write(false <= foo);
write(Boolean(true) <= undefined);
write(Boolean(true) <= null);
write(Boolean(true) <= true);
write(Boolean(true) <= false);
write(Boolean(true) <= Boolean(true));
write(Boolean(true) <= Boolean(false));
write(Boolean(true) <= new Boolean(true));
write(Boolean(true) <= new Boolean(false));
write(Boolean(true) <= NaN);
write(Boolean(true) <= +0);
write(Boolean(true) <= -0);
write(Boolean(true) <= 0);
write(Boolean(true) <= 0.0);
write(Boolean(true) <= -0.0);
write(Boolean(true) <= +0.0);
write(Boolean(true) <= 1);
write(Boolean(true) <= 10);
write(Boolean(true) <= 10.0);
write(Boolean(true) <= 10.1);
write(Boolean(true) <= -1);
write(Boolean(true) <= -10);
write(Boolean(true) <= -10.0);
write(Boolean(true) <= -10.1);
write(Boolean(true) <= Number.MAX_VALUE);
write(Boolean(true) <= Number.MIN_VALUE);
write(Boolean(true) <= Number.NaN);
write(Boolean(true) <= Number.POSITIVE_INFINITY);
write(Boolean(true) <= Number.NEGATIVE_INFINITY);
write(Boolean(true) <= new Number(NaN));
write(Boolean(true) <= new Number(+0));
write(Boolean(true) <= new Number(-0));
write(Boolean(true) <= new Number(0));
write(Boolean(true) <= new Number(0.0));
write(Boolean(true) <= new Number(-0.0));
write(Boolean(true) <= new Number(+0.0));
write(Boolean(true) <= new Number(1));
write(Boolean(true) <= new Number(10));
write(Boolean(true) <= new Number(10.0));
write(Boolean(true) <= new Number(10.1));
write(Boolean(true) <= new Number(-1));
write(Boolean(true) <= new Number(-10));
write(Boolean(true) <= new Number(-10.0));
write(Boolean(true) <= new Number(-10.1));
write(Boolean(true) <= new Number(Number.MAX_VALUE));
write(Boolean(true) <= new Number(Number.MIN_VALUE));
write(Boolean(true) <= new Number(Number.NaN));
write(Boolean(true) <= new Number(Number.POSITIVE_INFINITY));
write(Boolean(true) <= new Number(Number.NEGATIVE_INFINITY));
write(Boolean(true) <= '');
write(Boolean(true) <= 0xa);
write(Boolean(true) <= 04);
write(Boolean(true) <= 'hello');
write(Boolean(true) <= 'hel' + 'lo');
write(Boolean(true) <= String(''));
write(Boolean(true) <= String('hello'));
write(Boolean(true) <= String('h' + 'ello'));
write(Boolean(true) <= new String(''));
write(Boolean(true) <= new String('hello'));
write(Boolean(true) <= new String('he' + 'llo'));
write(Boolean(true) <= new Object());
write(Boolean(true) <= new Object());
write(Boolean(true) <= [1, 2, 3]);
write(Boolean(true) <= [1 ,2 , 3]);
write(Boolean(true) <= new Array(3));
write(Boolean(true) <= Array(3));
write(Boolean(true) <= new Array(1 ,2 ,3));
write(Boolean(true) <= Array(1));
write(Boolean(true) <= foo);
write(Boolean(false) <= undefined);
write(Boolean(false) <= null);
write(Boolean(false) <= true);
write(Boolean(false) <= false);
write(Boolean(false) <= Boolean(true));
write(Boolean(false) <= Boolean(false));
write(Boolean(false) <= new Boolean(true));
write(Boolean(false) <= new Boolean(false));
write(Boolean(false) <= NaN);
write(Boolean(false) <= +0);
write(Boolean(false) <= -0);
write(Boolean(false) <= 0);
write(Boolean(false) <= 0.0);
write(Boolean(false) <= -0.0);
write(Boolean(false) <= +0.0);
write(Boolean(false) <= 1);
write(Boolean(false) <= 10);
write(Boolean(false) <= 10.0);
write(Boolean(false) <= 10.1);
write(Boolean(false) <= -1);
write(Boolean(false) <= -10);
write(Boolean(false) <= -10.0);
write(Boolean(false) <= -10.1);
write(Boolean(false) <= Number.MAX_VALUE);
write(Boolean(false) <= Number.MIN_VALUE);
write(Boolean(false) <= Number.NaN);
write(Boolean(false) <= Number.POSITIVE_INFINITY);
write(Boolean(false) <= Number.NEGATIVE_INFINITY);
write(Boolean(false) <= new Number(NaN));
write(Boolean(false) <= new Number(+0));
write(Boolean(false) <= new Number(-0));
write(Boolean(false) <= new Number(0));
write(Boolean(false) <= new Number(0.0));
write(Boolean(false) <= new Number(-0.0));
write(Boolean(false) <= new Number(+0.0));
write(Boolean(false) <= new Number(1));
write(Boolean(false) <= new Number(10));
write(Boolean(false) <= new Number(10.0));
write(Boolean(false) <= new Number(10.1));
write(Boolean(false) <= new Number(-1));
write(Boolean(false) <= new Number(-10));
write(Boolean(false) <= new Number(-10.0));
write(Boolean(false) <= new Number(-10.1));
write(Boolean(false) <= new Number(Number.MAX_VALUE));
write(Boolean(false) <= new Number(Number.MIN_VALUE));
write(Boolean(false) <= new Number(Number.NaN));
write(Boolean(false) <= new Number(Number.POSITIVE_INFINITY));
write(Boolean(false) <= new Number(Number.NEGATIVE_INFINITY));
write(Boolean(false) <= '');
write(Boolean(false) <= 0xa);
write(Boolean(false) <= 04);
write(Boolean(false) <= 'hello');
write(Boolean(false) <= 'hel' + 'lo');
write(Boolean(false) <= String(''));
write(Boolean(false) <= String('hello'));
write(Boolean(false) <= String('h' + 'ello'));
write(Boolean(false) <= new String(''));
write(Boolean(false) <= new String('hello'));
write(Boolean(false) <= new String('he' + 'llo'));
write(Boolean(false) <= new Object());
write(Boolean(false) <= new Object());
write(Boolean(false) <= [1, 2, 3]);
write(Boolean(false) <= [1 ,2 , 3]);
write(Boolean(false) <= new Array(3));
write(Boolean(false) <= Array(3));
write(Boolean(false) <= new Array(1 ,2 ,3));
write(Boolean(false) <= Array(1));
write(Boolean(false) <= foo);
write(new Boolean(true) <= undefined);
write(new Boolean(true) <= null);
write(new Boolean(true) <= true);
write(new Boolean(true) <= false);
write(new Boolean(true) <= Boolean(true));
write(new Boolean(true) <= Boolean(false));
write(new Boolean(true) <= new Boolean(true));
write(new Boolean(true) <= new Boolean(false));
write(new Boolean(true) <= NaN);
write(new Boolean(true) <= +0);
write(new Boolean(true) <= -0);
write(new Boolean(true) <= 0);
write(new Boolean(true) <= 0.0);
write(new Boolean(true) <= -0.0);
write(new Boolean(true) <= +0.0);
write(new Boolean(true) <= 1);
write(new Boolean(true) <= 10);
write(new Boolean(true) <= 10.0);
write(new Boolean(true) <= 10.1);
write(new Boolean(true) <= -1);
write(new Boolean(true) <= -10);
write(new Boolean(true) <= -10.0);
write(new Boolean(true) <= -10.1);
write(new Boolean(true) <= Number.MAX_VALUE);
write(new Boolean(true) <= Number.MIN_VALUE);
write(new Boolean(true) <= Number.NaN);
write(new Boolean(true) <= Number.POSITIVE_INFINITY);
write(new Boolean(true) <= Number.NEGATIVE_INFINITY);
write(new Boolean(true) <= new Number(NaN));
write(new Boolean(true) <= new Number(+0));
write(new Boolean(true) <= new Number(-0));
write(new Boolean(true) <= new Number(0));
write(new Boolean(true) <= new Number(0.0));
write(new Boolean(true) <= new Number(-0.0));
write(new Boolean(true) <= new Number(+0.0));
write(new Boolean(true) <= new Number(1));
write(new Boolean(true) <= new Number(10));
write(new Boolean(true) <= new Number(10.0));
write(new Boolean(true) <= new Number(10.1));
write(new Boolean(true) <= new Number(-1));
write(new Boolean(true) <= new Number(-10));
write(new Boolean(true) <= new Number(-10.0));
write(new Boolean(true) <= new Number(-10.1));
write(new Boolean(true) <= new Number(Number.MAX_VALUE));
write(new Boolean(true) <= new Number(Number.MIN_VALUE));
write(new Boolean(true) <= new Number(Number.NaN));
write(new Boolean(true) <= new Number(Number.POSITIVE_INFINITY));
write(new Boolean(true) <= new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(true) <= '');
write(new Boolean(true) <= 0xa);
write(new Boolean(true) <= 04);
write(new Boolean(true) <= 'hello');
write(new Boolean(true) <= 'hel' + 'lo');
write(new Boolean(true) <= String(''));
write(new Boolean(true) <= String('hello'));
write(new Boolean(true) <= String('h' + 'ello'));
write(new Boolean(true) <= new String(''));
write(new Boolean(true) <= new String('hello'));
write(new Boolean(true) <= new String('he' + 'llo'));
write(new Boolean(true) <= new Object());
write(new Boolean(true) <= new Object());
write(new Boolean(true) <= [1, 2, 3]);
write(new Boolean(true) <= [1 ,2 , 3]);
write(new Boolean(true) <= new Array(3));
write(new Boolean(true) <= Array(3));
write(new Boolean(true) <= new Array(1 ,2 ,3));
write(new Boolean(true) <= Array(1));
write(new Boolean(true) <= foo);
write(new Boolean(false) <= undefined);
write(new Boolean(false) <= null);
write(new Boolean(false) <= true);
write(new Boolean(false) <= false);
write(new Boolean(false) <= Boolean(true));
write(new Boolean(false) <= Boolean(false));
write(new Boolean(false) <= new Boolean(true));
write(new Boolean(false) <= new Boolean(false));
write(new Boolean(false) <= NaN);
write(new Boolean(false) <= +0);
write(new Boolean(false) <= -0);
write(new Boolean(false) <= 0);
write(new Boolean(false) <= 0.0);
write(new Boolean(false) <= -0.0);
write(new Boolean(false) <= +0.0);
write(new Boolean(false) <= 1);
write(new Boolean(false) <= 10);
write(new Boolean(false) <= 10.0);
write(new Boolean(false) <= 10.1);
write(new Boolean(false) <= -1);
write(new Boolean(false) <= -10);
write(new Boolean(false) <= -10.0);
write(new Boolean(false) <= -10.1);
write(new Boolean(false) <= Number.MAX_VALUE);
write(new Boolean(false) <= Number.MIN_VALUE);
write(new Boolean(false) <= Number.NaN);
write(new Boolean(false) <= Number.POSITIVE_INFINITY);
write(new Boolean(false) <= Number.NEGATIVE_INFINITY);
write(new Boolean(false) <= new Number(NaN));
write(new Boolean(false) <= new Number(+0));
write(new Boolean(false) <= new Number(-0));
write(new Boolean(false) <= new Number(0));
write(new Boolean(false) <= new Number(0.0));
write(new Boolean(false) <= new Number(-0.0));
write(new Boolean(false) <= new Number(+0.0));
write(new Boolean(false) <= new Number(1));
write(new Boolean(false) <= new Number(10));
write(new Boolean(false) <= new Number(10.0));
write(new Boolean(false) <= new Number(10.1));
write(new Boolean(false) <= new Number(-1));
write(new Boolean(false) <= new Number(-10));
write(new Boolean(false) <= new Number(-10.0));
write(new Boolean(false) <= new Number(-10.1));
write(new Boolean(false) <= new Number(Number.MAX_VALUE));
write(new Boolean(false) <= new Number(Number.MIN_VALUE));
write(new Boolean(false) <= new Number(Number.NaN));
write(new Boolean(false) <= new Number(Number.POSITIVE_INFINITY));
write(new Boolean(false) <= new Number(Number.NEGATIVE_INFINITY));
write(new Boolean(false) <= '');
write(new Boolean(false) <= 0xa);
write(new Boolean(false) <= 04);
write(new Boolean(false) <= 'hello');
write(new Boolean(false) <= 'hel' + 'lo');
write(new Boolean(false) <= String(''));
write(new Boolean(false) <= String('hello'));
write(new Boolean(false) <= String('h' + 'ello'));
write(new Boolean(false) <= new String(''));
write(new Boolean(false) <= new String('hello'));
write(new Boolean(false) <= new String('he' + 'llo'));
write(new Boolean(false) <= new Object());
write(new Boolean(false) <= new Object());
write(new Boolean(false) <= [1, 2, 3]);
write(new Boolean(false) <= [1 ,2 , 3]);
write(new Boolean(false) <= new Array(3));
write(new Boolean(false) <= Array(3));
write(new Boolean(false) <= new Array(1 ,2 ,3));
write(new Boolean(false) <= Array(1));
write(new Boolean(false) <= foo);
write(NaN <= undefined);
write(NaN <= null);
write(NaN <= true);
write(NaN <= false);
write(NaN <= Boolean(true));
write(NaN <= Boolean(false));
write(NaN <= new Boolean(true));
write(NaN <= new Boolean(false));
write(NaN <= NaN);
write(NaN <= +0);
write(NaN <= -0);
write(NaN <= 0);
write(NaN <= 0.0);
write(NaN <= -0.0);
write(NaN <= +0.0);
write(NaN <= 1);
write(NaN <= 10);
write(NaN <= 10.0);
write(NaN <= 10.1);
write(NaN <= -1);
write(NaN <= -10);
write(NaN <= -10.0);
write(NaN <= -10.1);
write(NaN <= Number.MAX_VALUE);
write(NaN <= Number.MIN_VALUE);
write(NaN <= Number.NaN);
write(NaN <= Number.POSITIVE_INFINITY);
write(NaN <= Number.NEGATIVE_INFINITY);
write(NaN <= new Number(NaN));
write(NaN <= new Number(+0));
write(NaN <= new Number(-0));
write(NaN <= new Number(0));
write(NaN <= new Number(0.0));
write(NaN <= new Number(-0.0));
write(NaN <= new Number(+0.0));
write(NaN <= new Number(1));
write(NaN <= new Number(10));
write(NaN <= new Number(10.0));
write(NaN <= new Number(10.1));
write(NaN <= new Number(-1));
write(NaN <= new Number(-10));
write(NaN <= new Number(-10.0));
write(NaN <= new Number(-10.1));
write(NaN <= new Number(Number.MAX_VALUE));
write(NaN <= new Number(Number.MIN_VALUE));
write(NaN <= new Number(Number.NaN));
write(NaN <= new Number(Number.POSITIVE_INFINITY));
write(NaN <= new Number(Number.NEGATIVE_INFINITY));
write(NaN <= '');
write(NaN <= 0xa);
write(NaN <= 04);
write(NaN <= 'hello');
write(NaN <= 'hel' + 'lo');
write(NaN <= String(''));
write(NaN <= String('hello'));
write(NaN <= String('h' + 'ello'));
write(NaN <= new String(''));
write(NaN <= new String('hello'));
write(NaN <= new String('he' + 'llo'));
write(NaN <= new Object());
write(NaN <= new Object());
write(NaN <= [1, 2, 3]);
write(NaN <= [1 ,2 , 3]);
write(NaN <= new Array(3));
write(NaN <= Array(3));
write(NaN <= new Array(1 ,2 ,3));
write(NaN <= Array(1));
write(NaN <= foo);
write(+0 <= undefined);
write(+0 <= null);
write(+0 <= true);
write(+0 <= false);
write(+0 <= Boolean(true));
write(+0 <= Boolean(false));
write(+0 <= new Boolean(true));
write(+0 <= new Boolean(false));
write(+0 <= NaN);
write(+0 <= +0);
write(+0 <= -0);
write(+0 <= 0);
write(+0 <= 0.0);
write(+0 <= -0.0);
write(+0 <= +0.0);
write(+0 <= 1);
write(+0 <= 10);
write(+0 <= 10.0);
write(+0 <= 10.1);
write(+0 <= -1);
write(+0 <= -10);
write(+0 <= -10.0);
write(+0 <= -10.1);
write(+0 <= Number.MAX_VALUE);
write(+0 <= Number.MIN_VALUE);
write(+0 <= Number.NaN);
write(+0 <= Number.POSITIVE_INFINITY);
write(+0 <= Number.NEGATIVE_INFINITY);
write(+0 <= new Number(NaN));
write(+0 <= new Number(+0));
write(+0 <= new Number(-0));
write(+0 <= new Number(0));
write(+0 <= new Number(0.0));
write(+0 <= new Number(-0.0));
write(+0 <= new Number(+0.0));
write(+0 <= new Number(1));
write(+0 <= new Number(10));
write(+0 <= new Number(10.0));
write(+0 <= new Number(10.1));
write(+0 <= new Number(-1));
write(+0 <= new Number(-10));
write(+0 <= new Number(-10.0));
write(+0 <= new Number(-10.1));
write(+0 <= new Number(Number.MAX_VALUE));
write(+0 <= new Number(Number.MIN_VALUE));
write(+0 <= new Number(Number.NaN));
write(+0 <= new Number(Number.POSITIVE_INFINITY));
write(+0 <= new Number(Number.NEGATIVE_INFINITY));
write(+0 <= '');
write(+0 <= 0xa);
write(+0 <= 04);
write(+0 <= 'hello');
write(+0 <= 'hel' + 'lo');
write(+0 <= String(''));
write(+0 <= String('hello'));
write(+0 <= String('h' + 'ello'));
write(+0 <= new String(''));
write(+0 <= new String('hello'));
write(+0 <= new String('he' + 'llo'));
write(+0 <= new Object());
write(+0 <= new Object());
write(+0 <= [1, 2, 3]);
write(+0 <= [1 ,2 , 3]);
write(+0 <= new Array(3));
write(+0 <= Array(3));
write(+0 <= new Array(1 ,2 ,3));
write(+0 <= Array(1));
write(+0 <= foo);
write(-0 <= undefined);
write(-0 <= null);
write(-0 <= true);
write(-0 <= false);
write(-0 <= Boolean(true));
write(-0 <= Boolean(false));
write(-0 <= new Boolean(true));
write(-0 <= new Boolean(false));
write(-0 <= NaN);
write(-0 <= +0);
write(-0 <= -0);
write(-0 <= 0);
write(-0 <= 0.0);
write(-0 <= -0.0);
write(-0 <= +0.0);
write(-0 <= 1);
write(-0 <= 10);
write(-0 <= 10.0);
write(-0 <= 10.1);
write(-0 <= -1);
write(-0 <= -10);
write(-0 <= -10.0);
write(-0 <= -10.1);
write(-0 <= Number.MAX_VALUE);
write(-0 <= Number.MIN_VALUE);
write(-0 <= Number.NaN);
write(-0 <= Number.POSITIVE_INFINITY);
write(-0 <= Number.NEGATIVE_INFINITY);
write(-0 <= new Number(NaN));
write(-0 <= new Number(+0));
write(-0 <= new Number(-0));
write(-0 <= new Number(0));
write(-0 <= new Number(0.0));
write(-0 <= new Number(-0.0));
write(-0 <= new Number(+0.0));
write(-0 <= new Number(1));
write(-0 <= new Number(10));
write(-0 <= new Number(10.0));
write(-0 <= new Number(10.1));
write(-0 <= new Number(-1));
write(-0 <= new Number(-10));
write(-0 <= new Number(-10.0));
write(-0 <= new Number(-10.1));
write(-0 <= new Number(Number.MAX_VALUE));
write(-0 <= new Number(Number.MIN_VALUE));
write(-0 <= new Number(Number.NaN));
write(-0 <= new Number(Number.POSITIVE_INFINITY));
write(-0 <= new Number(Number.NEGATIVE_INFINITY));
write(-0 <= '');
write(-0 <= 0xa);
write(-0 <= 04);
write(-0 <= 'hello');
write(-0 <= 'hel' + 'lo');
write(-0 <= String(''));
write(-0 <= String('hello'));
write(-0 <= String('h' + 'ello'));
write(-0 <= new String(''));
write(-0 <= new String('hello'));
write(-0 <= new String('he' + 'llo'));
write(-0 <= new Object());
write(-0 <= new Object());
write(-0 <= [1, 2, 3]);
write(-0 <= [1 ,2 , 3]);
write(-0 <= new Array(3));
write(-0 <= Array(3));
write(-0 <= new Array(1 ,2 ,3));
write(-0 <= Array(1));
write(-0 <= foo);
write(0 <= undefined);
write(0 <= null);
write(0 <= true);
write(0 <= false);
write(0 <= Boolean(true));
write(0 <= Boolean(false));
write(0 <= new Boolean(true));
write(0 <= new Boolean(false));
write(0 <= NaN);
write(0 <= +0);
write(0 <= -0);
write(0 <= 0);
write(0 <= 0.0);
write(0 <= -0.0);
write(0 <= +0.0);
write(0 <= 1);
write(0 <= 10);
write(0 <= 10.0);
write(0 <= 10.1);
write(0 <= -1);
write(0 <= -10);
write(0 <= -10.0);
write(0 <= -10.1);
write(0 <= Number.MAX_VALUE);
write(0 <= Number.MIN_VALUE);
write(0 <= Number.NaN);
write(0 <= Number.POSITIVE_INFINITY);
write(0 <= Number.NEGATIVE_INFINITY);
write(0 <= new Number(NaN));
write(0 <= new Number(+0));
write(0 <= new Number(-0));
write(0 <= new Number(0));
write(0 <= new Number(0.0));
write(0 <= new Number(-0.0));
write(0 <= new Number(+0.0));
write(0 <= new Number(1));
write(0 <= new Number(10));
write(0 <= new Number(10.0));
write(0 <= new Number(10.1));
write(0 <= new Number(-1));
write(0 <= new Number(-10));
write(0 <= new Number(-10.0));
write(0 <= new Number(-10.1));
write(0 <= new Number(Number.MAX_VALUE));
write(0 <= new Number(Number.MIN_VALUE));
write(0 <= new Number(Number.NaN));
write(0 <= new Number(Number.POSITIVE_INFINITY));
write(0 <= new Number(Number.NEGATIVE_INFINITY));
write(0 <= '');
write(0 <= 0xa);
write(0 <= 04);
write(0 <= 'hello');
write(0 <= 'hel' + 'lo');
write(0 <= String(''));
write(0 <= String('hello'));
write(0 <= String('h' + 'ello'));
write(0 <= new String(''));
write(0 <= new String('hello'));
write(0 <= new String('he' + 'llo'));
write(0 <= new Object());
write(0 <= new Object());
write(0 <= [1, 2, 3]);
write(0 <= [1 ,2 , 3]);
write(0 <= new Array(3));
write(0 <= Array(3));
write(0 <= new Array(1 ,2 ,3));
write(0 <= Array(1));
write(0 <= foo);
write(0.0 <= undefined);
write(0.0 <= null);
write(0.0 <= true);
write(0.0 <= false);
write(0.0 <= Boolean(true));
write(0.0 <= Boolean(false));
write(0.0 <= new Boolean(true));
write(0.0 <= new Boolean(false));
write(0.0 <= NaN);
write(0.0 <= +0);
write(0.0 <= -0);
write(0.0 <= 0);
write(0.0 <= 0.0);
write(0.0 <= -0.0);
write(0.0 <= +0.0);
write(0.0 <= 1);
write(0.0 <= 10);
write(0.0 <= 10.0);
write(0.0 <= 10.1);
write(0.0 <= -1);
write(0.0 <= -10);
write(0.0 <= -10.0);
write(0.0 <= -10.1);
write(0.0 <= Number.MAX_VALUE);
write(0.0 <= Number.MIN_VALUE);
write(0.0 <= Number.NaN);
write(0.0 <= Number.POSITIVE_INFINITY);
write(0.0 <= Number.NEGATIVE_INFINITY);
write(0.0 <= new Number(NaN));
write(0.0 <= new Number(+0));
write(0.0 <= new Number(-0));
write(0.0 <= new Number(0));
write(0.0 <= new Number(0.0));
write(0.0 <= new Number(-0.0));
write(0.0 <= new Number(+0.0));
write(0.0 <= new Number(1));
write(0.0 <= new Number(10));
write(0.0 <= new Number(10.0));
write(0.0 <= new Number(10.1));
write(0.0 <= new Number(-1));
write(0.0 <= new Number(-10));
write(0.0 <= new Number(-10.0));
write(0.0 <= new Number(-10.1));
write(0.0 <= new Number(Number.MAX_VALUE));
write(0.0 <= new Number(Number.MIN_VALUE));
write(0.0 <= new Number(Number.NaN));
write(0.0 <= new Number(Number.POSITIVE_INFINITY));
write(0.0 <= new Number(Number.NEGATIVE_INFINITY));
write(0.0 <= '');
write(0.0 <= 0xa);
write(0.0 <= 04);
write(0.0 <= 'hello');
write(0.0 <= 'hel' + 'lo');
write(0.0 <= String(''));
write(0.0 <= String('hello'));
write(0.0 <= String('h' + 'ello'));
write(0.0 <= new String(''));
write(0.0 <= new String('hello'));
write(0.0 <= new String('he' + 'llo'));
write(0.0 <= new Object());
write(0.0 <= new Object());
write(0.0 <= [1, 2, 3]);
write(0.0 <= [1 ,2 , 3]);
write(0.0 <= new Array(3));
write(0.0 <= Array(3));
write(0.0 <= new Array(1 ,2 ,3));
write(0.0 <= Array(1));
write(0.0 <= foo);
write(-0.0 <= undefined);
write(-0.0 <= null);
write(-0.0 <= true);
write(-0.0 <= false);
write(-0.0 <= Boolean(true));
write(-0.0 <= Boolean(false));
write(-0.0 <= new Boolean(true));
write(-0.0 <= new Boolean(false));
write(-0.0 <= NaN);
write(-0.0 <= +0);
write(-0.0 <= -0);
write(-0.0 <= 0);
write(-0.0 <= 0.0);
write(-0.0 <= -0.0);
write(-0.0 <= +0.0);
write(-0.0 <= 1);
write(-0.0 <= 10);
write(-0.0 <= 10.0);
write(-0.0 <= 10.1);
write(-0.0 <= -1);
write(-0.0 <= -10);
write(-0.0 <= -10.0);
write(-0.0 <= -10.1);
write(-0.0 <= Number.MAX_VALUE);
write(-0.0 <= Number.MIN_VALUE);
write(-0.0 <= Number.NaN);
write(-0.0 <= Number.POSITIVE_INFINITY);
write(-0.0 <= Number.NEGATIVE_INFINITY);
write(-0.0 <= new Number(NaN));
write(-0.0 <= new Number(+0));
write(-0.0 <= new Number(-0));
write(-0.0 <= new Number(0));
write(-0.0 <= new Number(0.0));
write(-0.0 <= new Number(-0.0));
write(-0.0 <= new Number(+0.0));
write(-0.0 <= new Number(1));
write(-0.0 <= new Number(10));
write(-0.0 <= new Number(10.0));
write(-0.0 <= new Number(10.1));
write(-0.0 <= new Number(-1));
write(-0.0 <= new Number(-10));
write(-0.0 <= new Number(-10.0));
write(-0.0 <= new Number(-10.1));
write(-0.0 <= new Number(Number.MAX_VALUE));
write(-0.0 <= new Number(Number.MIN_VALUE));
write(-0.0 <= new Number(Number.NaN));
write(-0.0 <= new Number(Number.POSITIVE_INFINITY));
write(-0.0 <= new Number(Number.NEGATIVE_INFINITY));
write(-0.0 <= '');
write(-0.0 <= 0xa);
write(-0.0 <= 04);
write(-0.0 <= 'hello');
write(-0.0 <= 'hel' + 'lo');
write(-0.0 <= String(''));
write(-0.0 <= String('hello'));
write(-0.0 <= String('h' + 'ello'));
write(-0.0 <= new String(''));
write(-0.0 <= new String('hello'));
write(-0.0 <= new String('he' + 'llo'));
write(-0.0 <= new Object());
write(-0.0 <= new Object());
write(-0.0 <= [1, 2, 3]);
write(-0.0 <= [1 ,2 , 3]);
write(-0.0 <= new Array(3));
write(-0.0 <= Array(3));
write(-0.0 <= new Array(1 ,2 ,3));
write(-0.0 <= Array(1));
write(-0.0 <= foo);
write(+0.0 <= undefined);
write(+0.0 <= null);
write(+0.0 <= true);
write(+0.0 <= false);
write(+0.0 <= Boolean(true));
write(+0.0 <= Boolean(false));
write(+0.0 <= new Boolean(true));
write(+0.0 <= new Boolean(false));
write(+0.0 <= NaN);
write(+0.0 <= +0);
write(+0.0 <= -0);
write(+0.0 <= 0);
write(+0.0 <= 0.0);
write(+0.0 <= -0.0);
write(+0.0 <= +0.0);
write(+0.0 <= 1);
write(+0.0 <= 10);
write(+0.0 <= 10.0);
write(+0.0 <= 10.1);
write(+0.0 <= -1);
write(+0.0 <= -10);
write(+0.0 <= -10.0);
write(+0.0 <= -10.1);
write(+0.0 <= Number.MAX_VALUE);
write(+0.0 <= Number.MIN_VALUE);
write(+0.0 <= Number.NaN);
write(+0.0 <= Number.POSITIVE_INFINITY);
write(+0.0 <= Number.NEGATIVE_INFINITY);
write(+0.0 <= new Number(NaN));
write(+0.0 <= new Number(+0));
write(+0.0 <= new Number(-0));
write(+0.0 <= new Number(0));
write(+0.0 <= new Number(0.0));
write(+0.0 <= new Number(-0.0));
write(+0.0 <= new Number(+0.0));
write(+0.0 <= new Number(1));
write(+0.0 <= new Number(10));
write(+0.0 <= new Number(10.0));
write(+0.0 <= new Number(10.1));
write(+0.0 <= new Number(-1));
write(+0.0 <= new Number(-10));
write(+0.0 <= new Number(-10.0));
write(+0.0 <= new Number(-10.1));
write(+0.0 <= new Number(Number.MAX_VALUE));
write(+0.0 <= new Number(Number.MIN_VALUE));
write(+0.0 <= new Number(Number.NaN));
write(+0.0 <= new Number(Number.POSITIVE_INFINITY));
write(+0.0 <= new Number(Number.NEGATIVE_INFINITY));
